% Full labeled training data MLkNN
K = 10;

[ResultAll.Prior, ResultAll.PriorN, ResultAll.Cond, ResultAll.CondN] = MLKNN_train(AllDataTraining, TrueLabelTraining', K, 1);
[ResultAll.HammingLoss, ResultAll.RankingLoss, ResultAll.OneError, ResultAll.Coverage, ResultAll.Average_Precision, ResultAll.Outputs, ResultAll.Pre_Labels] = MLKNN_test(AllDataTraining, TrueLabelTraining', AllDataTesting, TrueLabelTesting', K, ResultAll.Prior, ResultAll.PriorN, ResultAll.Cond, ResultAll.CondN);



% All Sampled training data MLkNN
K = 10;

[ResultAllSampled.Prior, ResultAllSampled.PriorN, ResultAllSampled.Cond, ResultAllSampled.CondN] = MLKNN_train(AllDataTraining, SampledTrueLabelTraining', K, 1);
[ResultAllSampled.HammingLoss, ResultAllSampled.RankingLoss, ResultAllSampled.OneError, ResultAllSampled.Coverage, ResultAllSampled.Average_Precision, ResultAllSampled.Outputs, ResultAllSampled.Pre_Labels] = MLKNN_test(AllDataTraining, SampledTrueLabelTraining', AllDataTesting, TrueLabelTesting', K, ResultAllSampled.Prior, ResultAllSampled.PriorN, ResultAllSampled.Cond, ResultAllSampled.CondN);



% Only Sampled training data MLkNN
K = 10;

[ResultSampled.Prior, ResultSampled.PriorN, ResultSampled.Cond, ResultSampled.CondN] = MLKNN_train(SampledOnlyDataTraining, SampledOnlyTrueLabelTraining', K, 1);
[ResultSampled.HammingLoss, ResultSampled.RankingLoss, ResultSampled.OneError, ResultSampled.Coverage, ResultSampled.Average_Precision, ResultSampled.Outputs, ResultSampled.Pre_Labels] = MLKNN_test(SampledOnlyDataTraining, SampledOnlyTrueLabelTraining', AllDataTesting, TrueLabelTesting', K, ResultSampled.Prior, ResultSampled.PriorN, ResultSampled.Cond, ResultSampled.CondN);



save([Name '_' int2str(SampledDataPercent) '_' int2str(SampledLabelPercent) '_ExpermentResult']);
